The Web programming model makes it possible to build and deploy Web applications incrementally and in a decentralized manner. The Web programming model is considered “loosely coupled” and provides Web applications having a high degree of interoperability, scalability, and manageability. Generally, Web applications operate with at least a client that understands both HTTP and HTML, such as a Web browser. Examples of Web applications include e-commerce web sites such as www.microsoft.com.
In contrast, Web services adapt the loosely coupled Web programming model for use in services that do not require a visual user interface, and therefore does not use a web browser. Web services typically incorporate some combination of programming, data and (possibly) human resources to provide services made available from an organization's Web server to other Web-connected programs. Exemplary Web services may include major services, such as storage management and customer relationship management (CRM), down to much more limited services, such as online stock quotations and online bidding for an auction item.
In either case, some Web applications and Web services may need to authenticate a user prior to granting access to the user. In some cases, however, a web server may communicate using network protocols not supported by the client. For example, federated logon allows a client from one organization to access web services provided by another organization. Federated logon, however, needs a specialized set of authentication protocols that is not ubiquitously available to some client devices. This limitation detracts from the desired convenience and seamless access potentially expected of web services. Further, this would necessitate a massive upgrade of legacy clients to access new features implemented by innovative web servers. It is with respect to these and other considerations that the present improvements have been needed.